// package com.example.demoopcjava.opcua.demo1;
//
// import com.example.demoopcjava.opcua.demo1.ExampleRunner.ReadExample;
// import com.example.demoopcjava.opcua.demo1.ExampleRunner.Runner;
// import com.example.demoopcjava.opcua.demo1.certificate.CerLoad;
// import com.example.demoopcjava.opcua.demo1.certificate.PKCS12LoadImp;
// import org.eclipse.milo.opcua.stack.client.UaTcpStackClient;
// import org.eclipse.milo.opcua.stack.client.config.UaTcpStackClientConfig;
// import org.eclipse.milo.opcua.stack.core.types.builtin.LocalizedText;
// import org.eclipse.milo.opcua.stack.core.types.structured.EndpointDescription;
//
// import java.util.Arrays;
// import java.util.concurrent.ExecutionException;
//
// import static org.eclipse.milo.opcua.stack.core.types.builtin.unsigned.Unsigned.uint;
//
// /**
//  * <b><code>OpcUaTest</code></b>
//  * <p>
//  * Description
//  * <p>
//  * <b>Create Time:</b> 2022/1/7 13:45.
//  *
//  * @author qd.yt
//  * @version 0.0.1
//  * @since demo-opc-java v0.0.1
//  */
// public class OpcUaTest {
//     //定义OPC UA服务器的IP地址和端口
//     private static String  endpoints = "opc.tcp://DESKTOP-E91AKQN:53530/OPCUA/SimulationServer";
//
//     public static void main(String args[]){
//
//         Runner runner = new ReadExample();   //Runner对象
//
//         EndpointDescription[] endpointDescription = new EndpointDescription[0];
//         try {
//             endpointDescription = UaTcpStackClient.getEndpoints(endpoints).get();
//         } catch (InterruptedException e) {
//             e.printStackTrace();
//         } catch (ExecutionException e) {
//             e.printStackTrace();
//         }
//
//         // //过滤掉不需要的安全策略，选择一个自己需要的安全策略
//         EndpointDescription endpoint = null;
//         try {
//             endpoint = Arrays.stream(endpointDescription)
//                     .filter(e -> e.getSecurityPolicyUri().equals("http://opcfoundation.org/UA/SecurityPolicy#None"))
//                     .findFirst().orElseThrow(() -> new Exception("no desired endpoints returned"));
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//
//
//         UaTcpStackClientConfig config = UaTcpStackClientConfig.builder()
//                 .setApplicationName(LocalizedText.english("OPCAPP"))
//                 .setApplicationUri("urn:OPCUA/SimulationServer")
//                 .setEndpoint(endpoint)
//                 .build();
//
//         UaTcpStackClient opcClient = new UaTcpStackClient(config);
//
//         try {
//             runner.Run(opcClient);
//         }catch (Exception e){
//             System.out.println("发生异常: "+e);
//         }
//     }
//
// }
